#Import Packages
library(tidyverse)
library(knitr)
library(png)
library(RCurl)
library(magick)
library(grDevices)
library(jpeg)
library(plotrix)


#Import data set from Github and omit blank observations
urlfile="https://tkelleman.github.io/tkweb/week3/w03-penguins.csv"
pendata<-read.csv(url(urlfile))
#A
pendata_no_na <- na.omit(pendata)

#Filter Data based on HW Requirements 
#B
PenData.Filter<- filter(pendata_no_na, ((species=="Adelie" | species=="Gentoo") & (island=="Biscoe" | island=="Torgersen")))
#C
PenData.Filter<- filter(PenData.Filter, (body_mass_g <5000 & body_mass_g >3500))
#D
PenData.Filter<- PenData.Filter %>%
  mutate(BMI=body_mass_g/4000)
#E
drop<- c("X", "sex", "year", "body_mass_g")
PenData.Filter=PenData.Filter[,!(names(PenData.Filter) %in% drop)]

#Variables
billLength = PenData.Filter$bill_length_mm
flipperLength = PenData.Filter$flipper_length_mm
species = PenData.Filter$species
pointSize = PenData.Filter$BMI

#ID of species
adelie.id = which(species=="Adelie")
gentoo.id = which(species=="Gentoo")

## Plot Colors
par(bg = "#F1FAEE", col.axis = "#1D3557", col.lab = "#1D3557")

## Create Scatter plot (No points - Type "n")
plot(
  billLength, 
  flipperLength, 
  main = "Bill Length vs Flipper Length \n of Adelie and Gentoo Penguins", 
  col.main=("#1D3557"),
  type = "n",   
  xlab="Bill Length (mm)",  
  ylab="Flipper Length (mm)",
)

## Plot Points
points(billLength[adelie.id], flipperLength[adelie.id], pch = 15, col = "#E63946", cex = pointSize[adelie.id])
points(billLength[gentoo.id], flipperLength[gentoo.id], pch = 19, col = "#457B9D", cex = pointSize[gentoo.id])

## Regression Line
adelie.model<-lm(flipperLength[adelie.id] ~ billLength[adelie.id])
abline(adelie.model, lwd =2, col="#E63946")

gentoo.model<-lm(flipperLength[gentoo.id] ~ billLength[gentoo.id])
abline(gentoo.model, lwd =2, col="#457B9D")


## Create Legend
legend("topleft", c("Adelie", "Gentoo"), 
       col=c("#E63946", "#457B9D"),
       pch=c(15, 19))

draw.circle(x=44.10, y =209.9, radius=.25)

The figure above shows the relationship between the bill length and flipper length of the Adelie and Gentoo penguin species in the data set. This data set was filtered to only include complete observations of penguins between 3500g and 5000g body mass from the Biscoe and Torgersten islands. As shown by this plot, both species have a positive correlation between bill length and flipper length, with the Adelie species having a slightly more positive relationship. There is one notable outlier data point of the Adelie penguin species, noted by the circled point on the figure.

LS0tDQp0aXRsZTogPHNwYW4gc3R5bGU9ImNvbG9yOiMxRDM1NTciPjxXZWVrIDQgLSBGaWx0ZXJlZCBQZW5ndWluIERhdGE8L3NwYW4+DQphdXRob3I6IDxzcGFuIHN0eWxlPSJjb2xvcjojMUQzNTU3Ij5UaW0gS2VsbGVtYW4gLSBTVEEgNTUzIC0gMi8xNS8yNDwvc3Bhbj4NCg0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50OiANCiAgICB0b2M6IHllcw0KICAgIHRvY19kZXB0aDogNA0KICAgIHRvY19mbG9hdDogeWVzDQogICAgZmlnX3dpZHRoOiA4DQogICAgZmlnX2NhcHRpb246IHllcw0KICAgIG51bWJlcl9zZWN0aW9uczogeWVzDQogICAgdG9jX2NvbGxhcHNlZDogeWVzDQogICAgY29kZV9mb2xkaW5nOiBoaWRlDQogICAgY29kZV9kb3dubG9hZDogeWVzDQogICAgc21vb3RoX3Njcm9sbDogdHJ1ZQ0KICAgIHRoZW1lOiByZWFkYWJsZQ0KICAgDQogIHBkZl9kb2N1bWVudDogDQogICAgdG9jOiB5ZXMNCiAgICB0b2NfZGVwdGg6IDQNCiAgICBmaWdfY2FwdGlvbjogeWVzDQogICAgbnVtYmVyX3NlY3Rpb25zOiB5ZXMNCiAgICBmaWdfd2lkdGg6IDUNCiAgICBmaWdfaGVpZ2h0OiA0DQogIA0KLS0tDQo8Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojRjFGQUVFOyI+DQpgYGB7ciBldmFsPVRSVUUsIGVjaG89VFJVRSwgbWVzc2FnZT1GQUxTRX0NCiNJbXBvcnQgUGFja2FnZXMNCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeShrbml0cikNCmxpYnJhcnkocG5nKQ0KbGlicmFyeShSQ3VybCkNCmxpYnJhcnkobWFnaWNrKQ0KbGlicmFyeShnckRldmljZXMpDQpsaWJyYXJ5KGpwZWcpDQpsaWJyYXJ5KHBsb3RyaXgpDQoNCg0KI0ltcG9ydCBkYXRhIHNldCBmcm9tIEdpdGh1YiBhbmQgb21pdCBibGFuayBvYnNlcnZhdGlvbnMNCnVybGZpbGU9Imh0dHBzOi8vdGtlbGxlbWFuLmdpdGh1Yi5pby90a3dlYi93ZWVrMy93MDMtcGVuZ3VpbnMuY3N2Ig0KcGVuZGF0YTwtcmVhZC5jc3YodXJsKHVybGZpbGUpKQ0KI0ENCnBlbmRhdGFfbm9fbmEgPC0gbmEub21pdChwZW5kYXRhKQ0KDQojRmlsdGVyIERhdGEgYmFzZWQgb24gSFcgUmVxdWlyZW1lbnRzIA0KI0INClBlbkRhdGEuRmlsdGVyPC0gZmlsdGVyKHBlbmRhdGFfbm9fbmEsICgoc3BlY2llcz09IkFkZWxpZSIgfCBzcGVjaWVzPT0iR2VudG9vIikgJiAoaXNsYW5kPT0iQmlzY29lIiB8IGlzbGFuZD09IlRvcmdlcnNlbiIpKSkNCiNDDQpQZW5EYXRhLkZpbHRlcjwtIGZpbHRlcihQZW5EYXRhLkZpbHRlciwgKGJvZHlfbWFzc19nIDw1MDAwICYgYm9keV9tYXNzX2cgPjM1MDApKQ0KI0QNClBlbkRhdGEuRmlsdGVyPC0gUGVuRGF0YS5GaWx0ZXIgJT4lDQogIG11dGF0ZShCTUk9Ym9keV9tYXNzX2cvNDAwMCkNCiNFDQpkcm9wPC0gYygiWCIsICJzZXgiLCAieWVhciIsICJib2R5X21hc3NfZyIpDQpQZW5EYXRhLkZpbHRlcj1QZW5EYXRhLkZpbHRlclssIShuYW1lcyhQZW5EYXRhLkZpbHRlcikgJWluJSBkcm9wKV0NCg0KI1ZhcmlhYmxlcw0KYmlsbExlbmd0aCA9IFBlbkRhdGEuRmlsdGVyJGJpbGxfbGVuZ3RoX21tDQpmbGlwcGVyTGVuZ3RoID0gUGVuRGF0YS5GaWx0ZXIkZmxpcHBlcl9sZW5ndGhfbW0NCnNwZWNpZXMgPSBQZW5EYXRhLkZpbHRlciRzcGVjaWVzDQpwb2ludFNpemUgPSBQZW5EYXRhLkZpbHRlciRCTUkNCg0KI0lEIG9mIHNwZWNpZXMNCmFkZWxpZS5pZCA9IHdoaWNoKHNwZWNpZXM9PSJBZGVsaWUiKQ0KZ2VudG9vLmlkID0gd2hpY2goc3BlY2llcz09IkdlbnRvbyIpDQoNCiMjIFBsb3QgQ29sb3JzDQpwYXIoYmcgPSAiI0YxRkFFRSIsIGNvbC5heGlzID0gIiMxRDM1NTciLCBjb2wubGFiID0gIiMxRDM1NTciKQ0KDQojIyBDcmVhdGUgU2NhdHRlciBwbG90IChObyBwb2ludHMgLSBUeXBlICJuIikNCnBsb3QoDQogIGJpbGxMZW5ndGgsIA0KICBmbGlwcGVyTGVuZ3RoLCANCiAgbWFpbiA9ICJCaWxsIExlbmd0aCB2cyBGbGlwcGVyIExlbmd0aCBcbiBvZiBBZGVsaWUgYW5kIEdlbnRvbyBQZW5ndWlucyIsIA0KICBjb2wubWFpbj0oIiMxRDM1NTciKSwNCiAgdHlwZSA9ICJuIiwgICANCiAgeGxhYj0iQmlsbCBMZW5ndGggKG1tKSIsICANCiAgeWxhYj0iRmxpcHBlciBMZW5ndGggKG1tKSIsDQopDQoNCiMjIFBsb3QgUG9pbnRzDQpwb2ludHMoYmlsbExlbmd0aFthZGVsaWUuaWRdLCBmbGlwcGVyTGVuZ3RoW2FkZWxpZS5pZF0sIHBjaCA9IDE1LCBjb2wgPSAiI0U2Mzk0NiIsIGNleCA9IHBvaW50U2l6ZVthZGVsaWUuaWRdKQ0KcG9pbnRzKGJpbGxMZW5ndGhbZ2VudG9vLmlkXSwgZmxpcHBlckxlbmd0aFtnZW50b28uaWRdLCBwY2ggPSAxOSwgY29sID0gIiM0NTdCOUQiLCBjZXggPSBwb2ludFNpemVbZ2VudG9vLmlkXSkNCg0KIyMgUmVncmVzc2lvbiBMaW5lDQphZGVsaWUubW9kZWw8LWxtKGZsaXBwZXJMZW5ndGhbYWRlbGllLmlkXSB+IGJpbGxMZW5ndGhbYWRlbGllLmlkXSkNCmFibGluZShhZGVsaWUubW9kZWwsIGx3ZCA9MiwgY29sPSIjRTYzOTQ2IikNCg0KZ2VudG9vLm1vZGVsPC1sbShmbGlwcGVyTGVuZ3RoW2dlbnRvby5pZF0gfiBiaWxsTGVuZ3RoW2dlbnRvby5pZF0pDQphYmxpbmUoZ2VudG9vLm1vZGVsLCBsd2QgPTIsIGNvbD0iIzQ1N0I5RCIpDQoNCg0KIyMgQ3JlYXRlIExlZ2VuZA0KbGVnZW5kKCJ0b3BsZWZ0IiwgYygiQWRlbGllIiwgIkdlbnRvbyIpLCANCiAgICAgICBjb2w9YygiI0U2Mzk0NiIsICIjNDU3QjlEIiksDQogICAgICAgcGNoPWMoMTUsIDE5KSkNCg0KZHJhdy5jaXJjbGUoeD00NC4xMCwgeSA9MjA5LjksIHJhZGl1cz0uMjUpDQoNCmBgYA0KPHNwYW4gc3R5bGU9ImNvbG9yOiMxRDM1NTciPlRoZSBmaWd1cmUgYWJvdmUgc2hvd3MgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBiaWxsIGxlbmd0aCBhbmQgZmxpcHBlciBsZW5ndGggb2YgdGhlIEFkZWxpZSBhbmQgR2VudG9vIHBlbmd1aW4gc3BlY2llcyBpbiB0aGUgZGF0YSBzZXQuIFRoaXMgZGF0YSBzZXQgd2FzIGZpbHRlcmVkIHRvIG9ubHkgaW5jbHVkZSBjb21wbGV0ZSBvYnNlcnZhdGlvbnMgb2YgcGVuZ3VpbnMgYmV0d2VlbiAzNTAwZyBhbmQgNTAwMGcgYm9keSBtYXNzIGZyb20gdGhlIEJpc2NvZSBhbmQgVG9yZ2Vyc3RlbiBpc2xhbmRzLiBBcyBzaG93biBieSB0aGlzIHBsb3QsIGJvdGggc3BlY2llcyBoYXZlIGEgcG9zaXRpdmUgY29ycmVsYXRpb24gYmV0d2VlbiBiaWxsIGxlbmd0aCBhbmQgZmxpcHBlciBsZW5ndGgsIHdpdGggdGhlIEFkZWxpZSBzcGVjaWVzIGhhdmluZyBhIHNsaWdodGx5IG1vcmUgcG9zaXRpdmUgcmVsYXRpb25zaGlwLiBUaGVyZSBpcyBvbmUgbm90YWJsZSBvdXRsaWVyIGRhdGEgcG9pbnQgb2YgdGhlIEFkZWxpZSBwZW5ndWluIHNwZWNpZXMsIG5vdGVkIGJ5IHRoZSBjaXJjbGVkIHBvaW50IG9uIHRoZSBmaWd1cmUuIA0KDQo8L3NwYW4+